package com.clkj.zhonghui.pojo.product;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

import javax.persistence.Column;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import java.io.Serializable;
import java.util.List;

/**
 * @author yawang
 * @date Thu Jul 11 09:06:39 CST 2024
 * 商品表
 */
@ApiModel( value ="t_zh_product" )
@Table( name ="t_zh_product" )
public class Product  implements Serializable {

    @Id
    @Column(name = "product_id", updatable = false)
    @ApiModelProperty(value = "商品ID")
	private Integer productId;

	/**
	 * 商品名称
	 */
   	@Column(name = "product_name" )
	@ApiModelProperty( value="商品名称")
	private String productName;

	/**
	 * 商品主图
	 */
   	@Column(name = "product_pic" )
	@ApiModelProperty( value="商品主图")
	private String productPic;

	/**
	 * 门店ID
	 */
   	@Column(name = "shop_id" )
	@ApiModelProperty( value="门店ID")
	private Integer shopId;

	/**
	 * 分类ID
	 */
   	@Column(name = "category_id" )
	@ApiModelProperty( value="分类ID")
	private Integer categoryId;

	/**
	 * 副标题
	 */
   	@Column(name = "product_title" )
	@ApiModelProperty( value="副标题")
	private String productTitle;

	/**
	 * 总库存
	 */
   	@Column(name = "inventory" )
	@ApiModelProperty( value="总库存")
	private Integer inventory;

	/**
	 * 排序
	 */
   	@Column(name = "product_sort" )
	@ApiModelProperty( value="排序")
	private Integer productSort;

	/**
	 * 销量
	 */
   	@Column(name = "product_sales" )
	@ApiModelProperty( value="销量")
	private Integer productSales;

	/**
	 * 销售状态 0为未启用 1为在销 2为仅展示
	 */
   	@Column(name = "product_status" )
	@ApiModelProperty( value="销售状态 0为未启用 1为在销 2为仅展示")
	private Integer productStatus;

	/**
	 * 0为普通商品 1为特殊商品--目前为鸡胚胎，后续有其他的再继续标注
	 */
   	@Column(name = "product_flag" )
	@ApiModelProperty( value="0为普通商品 1为特殊商品--目前为鸡胚胎，后续有其他的再继续标注")
	private String productFlag;

	/**
	 * 主页面展示的价格
	 */
   	@Column(name = "product_price" )
	@ApiModelProperty( value="主页面展示的价格")
	private Double productPrice;

    private List<ProductFormat> productFormats;

    @Transient
    private String userName;


    @Transient
    private String userImg;


    @Transient
    private Integer collectFlag;

    public Integer getCollectFlag() {
        return collectFlag;
    }

    public void setCollectFlag(Integer collectFlag) {
        this.collectFlag = collectFlag;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getUserImg() {
        return userImg;
    }

    public void setUserImg(String userImg) {
        this.userImg = userImg;
    }

    public List<ProductFormat> getProductFormats() {
        return productFormats;
    }

    public void setProductFormats(List<ProductFormat> productFormats) {
        this.productFormats = productFormats;
    }

  public Integer getProductId() {
    return productId;
  }

  public void setProductId(Integer productId) {
    this.productId = productId;
  }


  public String getProductName() {
    return productName;
  }

  public void setProductName(String productName) {
    this.productName = productName;
  }


  public String getProductPic() {
    return productPic;
  }

  public void setProductPic(String productPic) {
    this.productPic = productPic;
  }


  public Integer getShopId() {
    return shopId;
  }

  public void setShopId(Integer shopId) {
    this.shopId = shopId;
  }


  public Integer getCategoryId() {
    return categoryId;
  }

  public void setCategoryId(Integer categoryId) {
    this.categoryId = categoryId;
  }


  public String getProductTitle() {
    return productTitle;
  }

  public void setProductTitle(String productTitle) {
    this.productTitle = productTitle;
  }


  public Integer getInventory() {
    return inventory;
  }

  public void setInventory(Integer inventory) {
    this.inventory = inventory;
  }


  public Integer getProductSort() {
    return productSort;
  }

  public void setProductSort(Integer productSort) {
    this.productSort = productSort;
  }


  public Integer getProductSales() {
    return productSales;
  }

  public void setProductSales(Integer productSales) {
    this.productSales = productSales;
  }


  public Integer getProductStatus() {
    return productStatus;
  }

  public void setProductStatus(Integer productStatus) {
    this.productStatus = productStatus;
  }


  public String getProductFlag() {
    return productFlag;
  }

  public void setProductFlag(String productFlag) {
    this.productFlag = productFlag;
  }


  public Double getProductPrice() {
    return productPrice;
  }

  public void setProductPrice(Double productPrice) {
    this.productPrice = productPrice;
  }

}
